﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;

namespace RTracker.Areas.Recruitment.Models.Client
{
    /// <summary>
    /// Class for Client, used to get and set values of Client properties.
    /// </summary>
    public class CClient
    {
        int m_nClientId;
        int m_nOrganizationId;
        String m_strCandidateDriveStatusName;
        String m_strCandidateDriveStatusDesc;
        String m_strSearch;
        String m_strSearchOn;
        int m_nPageNumber;
        int m_nRowSize;
        String m_strSortOn;
        String m_strSortType;
        String m_strClientName;
        String m_strClientDesc;
        String m_strContractDoc;
        String m_strContactAddress;
        String m_strClientLogo;
        String m_strWebsite;
        String m_strIndustry;
        String m_strClientManager;
        Boolean m_bIsSoftLocked;
        int m_nSoftLockedBy;
        DateTime? m_dtSoftLockTimestamp;
        Boolean m_bIsHardLocked;
        int m_nHardLockedBy;
        DateTime? m_dtHardLockTimestamp;
        DateTime? m_dtCreateTimestamp;
        int m_nCreatedBy;
        DateTime? m_dtModifiedTimestamp;
        int m_nModifiedBy;
        Boolean m_bDeleteFlag;
        String m_strClientIds;
        string m_strSoftlockedByName;
        string m_strHardlockedByName;
        string m_strCreatedByName;
        string m_strModifiedByName;

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CClient()
        {
            m_nClientId = 0;
            m_nOrganizationId = 0;
            m_strSearch = "";
            m_strSearchOn = "";
            m_nPageNumber = 0;
            m_nRowSize = 0;
            m_strSortOn = "";
            m_strSortType = "";
            m_strClientName = "";
            m_strClientDesc = "";
            m_strContractDoc = "";
            m_strContactAddress = "";
            m_strClientLogo = "";
            m_strWebsite = "";
            m_strIndustry = "";
            m_strClientManager = "";
            m_bIsSoftLocked = false;
            m_nSoftLockedBy = 0;
            m_dtSoftLockTimestamp = null;
            m_bIsHardLocked = false;
            m_nHardLockedBy = 0;
            m_dtHardLockTimestamp = null;
            m_dtCreateTimestamp = null;
            m_nCreatedBy = 0;
            m_dtModifiedTimestamp = null;
            m_nModifiedBy = 0;
            m_bDeleteFlag = false;
            m_strClientIds = "";
            m_strHardlockedByName = "";
            m_strSoftlockedByName = "";
            m_strCreatedByName = "";
            m_strModifiedByName = "";
        }

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CClient(int nClientId,int nOrganizationId, String strSearch, String strSearchOn, int nPageNumber
            , int nRowSize, String strSortOn, String strSortType, String strClientName, String strClientDesc, String strContractDoc, String strContactAddress, String strClientLogo, String strWebsite
            , String strIndustry, String strClientManager, Boolean bIsSoftLocked, int nSoftLockedBy, DateTime? dtSoftLockTimestamp
            , Boolean bIsHardLocked, int nHardLockedBy, DateTime? dtHardLockTimestamp, DateTime? dtCreateTimestamp, int nCreatedBy
            , DateTime? dtModifiedTimestamp, int nModifiedBy, Boolean bDeleteFlag, String strClientIds, string strSoftlockedByName, string strHardlockedByName, string strCreatedByName, string strModifiedByName)
        {
            m_nClientId = nClientId;
            m_nOrganizationId = nOrganizationId;
            m_strSearch = strSearch;
            m_strSearchOn = strSearchOn;
            m_nPageNumber = nPageNumber;
            m_nRowSize = nRowSize;
            m_strSortOn = strSortOn;
            m_strSortType = strSortType;
            m_strClientName = strClientName;
            m_strClientDesc = strClientDesc;
            m_strContractDoc = strContractDoc;
            m_strContactAddress = strContactAddress;
            m_strClientLogo = strClientLogo;
            m_strWebsite = strWebsite;
            m_strIndustry = strIndustry;
            m_strClientManager = strClientManager;
            m_bIsSoftLocked = bIsSoftLocked;
            m_nSoftLockedBy = nSoftLockedBy;
            m_dtSoftLockTimestamp = dtSoftLockTimestamp;
            m_bIsHardLocked = bIsHardLocked;
            m_nHardLockedBy = nHardLockedBy;
            m_dtHardLockTimestamp = dtHardLockTimestamp;
            m_dtCreateTimestamp = dtCreateTimestamp;
            m_nCreatedBy = nCreatedBy;
            m_dtModifiedTimestamp = dtModifiedTimestamp;
            m_nModifiedBy = nModifiedBy;
            m_bDeleteFlag = bDeleteFlag;
            m_strClientIds = strClientIds;
            m_strSoftlockedByName = strSoftlockedByName;
            m_strHardlockedByName = strHardlockedByName;
            m_strCreatedByName = strCreatedByName;
            m_strModifiedByName = strModifiedByName;
        }

        /// <summary>
        /// Used to store ClientId
        /// </summary>
        public int ClientId
        {
            get { return m_nClientId; }
            set { m_nClientId = value; }
        }
        /// <summary>
        /// Used to store OrganizationId
        /// </summary>
        public int OrganizationId
        {
            get { return m_nOrganizationId; }
            set { m_nOrganizationId = value; }
        }
        /// <summary>
        /// Field  to be  search
        /// </summary>
        public String Search
        {
            get { return m_strSearch; }
            set { m_strSearch = value; }
        }

        /// <summary>
        ///  Field on  search
        /// </summary>
        public String SearchOn
        {
            get { return m_strSearchOn; }
            set { m_strSearchOn = value; }
        }
        /// <summary>
        /// Used to store PageNumber
        /// </summary>
        public int PageNumber
        {
            get { return m_nPageNumber; }
            set { m_nPageNumber = value; }
        }
        /// <summary>
        /// Used to store RowSize
        /// </summary>
        public int RowSize
        {
            get { return m_nRowSize; }
            set { m_nRowSize = value; }
        }
        /// <summary>
        /// Used to store SortOn
        /// </summary>
        public String SortOn
        {
            get { return m_strSortOn; }
            set { m_strSortOn = value; }
        }
        /// <summary>
        /// Used to store SortType
        /// </summary>
        public String SortType
        {
            get { return m_strSortType; }
            set { m_strSortType = value; }
        }
        /// <summary>
        /// Used to store ClientName
        /// </summary>
        public String ClientName
        {
            get { return m_strClientName; }
            set { m_strClientName = value; }
        }

        /// <summary>
        /// Used to store ClientName
        /// </summary>
        public String ClientDesc
        {
            get { return  m_strClientDesc; }
            set { m_strClientDesc = value; }
        }

        /// <summary>
        /// Used to store ClientName
        /// </summary>
        public String ContractDoc
        {
            get { return m_strContractDoc; }
            set { m_strContractDoc = value; }
        }

        /// <summary>
        /// Used to store ContactAddress
        /// </summary>
        public String ContactAddress
        {
            get { return m_strContactAddress; }
            set { m_strContactAddress = value; }
        }
        /// <summary>
        /// Used to store ClientLogo
        /// </summary>
        public String ClientLogo
        {
            get { return m_strClientLogo; }
            set { m_strClientLogo = value; }
        }
        /// <summary>
        /// Used to store Website
        /// </summary>
        public String Website
        {
            get { return m_strWebsite; }
            set { m_strWebsite = value; }
        }
        /// <summary>
        /// Used to store Industry
        /// </summary>
        public String Industry
        {
            get { return m_strIndustry; }
            set { m_strIndustry = value; }
        }
        /// <summary>
        /// Used to store ClientManager
        /// </summary>
        public String ClientManager
        {
            get { return m_strClientManager; }
            set { m_strClientManager = value; }
        }
        /// <summary>
        /// Used to store IsSoftLocked
        /// </summary>
        public Boolean IsSoftLocked
        {
            get { return m_bIsSoftLocked; }
            set { m_bIsSoftLocked = value; }
        }
        /// <summary>
        /// Used to store SoftLockedBy
        /// </summary>
        public int SoftLockedBy
        {
            get { return m_nSoftLockedBy; }
            set { m_nSoftLockedBy = value; }
        }
        /// <summary>
        /// Used to store SoftLockTimestamp
        /// </summary>
        public DateTime? SoftLockTimestamp
        {
            get { return m_dtSoftLockTimestamp; }
            set { m_dtSoftLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store IsHardLocked
        /// </summary>
        public Boolean IsHardLocked
        {
            get { return m_bIsHardLocked; }
            set { m_bIsHardLocked = value; }
        }
        /// <summary>
        /// Used to store HardLockedBy
        /// </summary>
        public int HardLockedBy
        {
            get { return m_nHardLockedBy; }
            set { m_nHardLockedBy = value; }
        }
        /// <summary>
        /// Used to store HardLockTimestamp
        /// </summary>
        public DateTime? HardLockTimestamp
        {
            get { return m_dtHardLockTimestamp; }
            set { m_dtHardLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreateTimestamp
        /// </summary>
        public DateTime? CreateTimestamp
        {
            get { return m_dtCreateTimestamp; }
            set { m_dtCreateTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreatedBy
        /// </summary>
        public int CreatedBy
        {
            get { return m_nCreatedBy; }
            set { m_nCreatedBy = value; }
        }
        /// <summary>
        /// Used to store ModifiedTimestamp
        /// </summary>
        public DateTime? ModifiedTimestamp
        {
            get { return m_dtModifiedTimestamp; }
            set { m_dtModifiedTimestamp = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy
        /// </summary>
        public int ModifiedBy
        {
            get { return m_nModifiedBy; }
            set { m_nModifiedBy = value; }
        }
        /// <summary>
        /// Used to store DeleteFlag
        /// </summary>
        public Boolean DeleteFlag
        {
            get { return m_bDeleteFlag; }
            set { m_bDeleteFlag = value; }
        }
        /// <summary>
        /// Used to store ClientIds
        /// </summary>
        public String ClientIds
        {
            get { return m_strClientIds; }
            set { m_strClientIds = value; }
        }
        /// <summary>
        /// Used to store username who owns the softlock.
        /// </summary>
        public string SoftLockedByName
        {
            get { return m_strSoftlockedByName; }
            set { m_strSoftlockedByName = value; }
        }
        /// <summary>
        /// Used to store username who owns the hardlock.
        /// </summary>
        public string HardLockedByName
        {
            get { return m_strHardlockedByName; }
            set { m_strHardlockedByName = value; }
        }
        /// <summary>
        /// Used to store CreatedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Created By")]
        public string CreatedByName
        {

            get { return m_strCreatedByName; }
            set { m_strCreatedByName = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Modified By")]
        public string ModifiedByName
        {

            get { return m_strModifiedByName; }
            set { m_strModifiedByName = value; }
        }
    }

}